Control systems for open ocean aquaculture

ABSTRACT

A computer-implemented method includes receiving data from one or more sensors that detect one or more environmental parameters associated with an autonomous submersible structure, determining one or more navigation parameters based on the one or more environmental parameters and one or more viability profiles associated with cargo contained within the autonomous submersible structure and that specify constraints on the one or more environmental parameters, and controlling, based on the one or more navigation parameters, a propulsion system of the autonomous submersible structure.

CROSS-REFERENCE TO REPLATED APPLICATION

This application is a continuation of U.S. application Ser. No.15/346,281, filed Nov. 8, 2016, the contents of which are incorporatedin their entirety herein.

FIELD

This specification relates to aquaculture.

BACKGROUND

Open ocean aquaculture is a marine farming technique in which fish farmsare placed offshore in the open ocean. The farms are typicallypositioned in deep and unsheltered waters, where ocean currents arestronger than they are inshore. A main advantage of open oceanaquaculture is the dispersion of effluent produced by the fish farms:near-shore aquaculture effluent settles below the farms on the seafloor,potentially damaging local ecosystems. Placing aquaculture in a largebody of water also eases the process of obtaining permits, mitigatesissues around recreational use for near-shore space, and provides morespace for the farms, allowing production to expand and preventing healthrisks associated with overcrowding, such as injury, disease, and highmortality rates.

SUMMARY

Many aquaculture systems for growing and harvesting fish are moored oranchored to the sea floor. These aquaculture systems, typicallyincluding a submersible cage structure containing live fish, are subjectto depth limitations, request robust moorings or anchors, and require ahuman to travel out to the location of the farm to perform maintenance,feed and monitor the fish, and eventually to harvest the fish.

In some implementations, to effectively utilize the environment whileensuring proper care of the live cargo of the structure, a submersiblecage structure can be configured to autonomously navigate the ocean orbody of water in which the cage is submerged. By using a propulsionsystem to traverse currents and steer to certain locations, the proposedsystem provides a mobile aquaculture solution that reduces the need forhumans to travel to the submersible cages. The proposed system is notrestricted to certain depths, and can navigate to different locationsbased on a condition of the cargo contained within the system.

In one general aspect, a computer-implemented method includes receivingdata from one or more sensors that detect one or more environmentalparameters associated with an autonomous submersible structure,determining one or more navigation parameters based on the one or moreenvironmental parameters and one or more viability profiles associatedwith cargo contained within the autonomous submersible structure andthat specify constraints on the one or more environmental parameters,and controlling, based on the one or more navigation parameters, apropulsion system of the autonomous submersible structure.

Implementations may include one or more of the following features. Forexample, the propulsion system of the autonomous submersible structurecomprises two or more independently operated propellers of theautonomous submersible structure. The method can further includereceiving data from one or more sensors that detect one or more vitalparameters of the cargo. The method can further include determining oneor more navigation parameters based on the one or more vital parametersof the cargo and one or more viability profiles associated with thecargo that specify constraints on the one or more vital parameters.

The vital parameters can include at least one of: average body weightper cargo unit, average length per cargo unit, average age of cargo,average density of cargo, average state of cargo, proportion of healthycargo, proportion of live cargo, or total units of cargo. The method canfurther include receiving feedback from one or more sensors of a lifesupport system of the submersible structure that controls the one ormore vital parameters of the cargo.

In some examples, the one or more environmental parameters comprise atleast one of: water salinity, water oxygen level, water pressure, watertemperature, and weather conditions. The one or more navigationparameters can include a destination location to which the autonomoussubmersible structure is navigated. The one or more navigationparameters include a geostationary location at which the autonomoussubmersible structure is to remain.

In some examples, the method further includes determining that at leastone of the one or more environmental parameters is below a thresholdlevel specified by at least one of the one or more viability profiles,in response to the determination, determining a change in the one ormore navigation parameters, and controlling the two or moreindependently operated propellers of the autonomous submersiblestructure based on the change in the one or more navigation parameters.

The method can further include receiving data from one or more sensorsthat detect a geographical position of the autonomous submersiblestructure, wherein the one or more environmental parameters include thegeographical position. In some examples, controlling the two or moreindependently operated propellers of the autonomous submersiblestructure controls at least one of: a direction of travel of theautonomous submersible structure or a depth of the autonomoussubmersible structure.

The method can further include determining, by a navigation system, theone or more navigation parameters, wherein the navigation systemutilizes a neural network configured to receive as input the one or moreenvironmental parameters and the one or more vital parameters and toselect a next action from one or more actions available to be performedin response to the determining of the one or more navigation parametersin accordance with current values of the one or more environmentalparameters and the specified constraints.

In some examples, each of the one or more viability profiles specifies adifferent proportion of live cargo, and wherein each of the one or moreviability profiles specifies a different neural network. The method canfurther include receiving feedback from the navigation system and thetwo or more propellers of the autonomous submersible structure.

In some examples, the one or more viability profiles are ranked, and themethod can further include selecting, based on a ranking of the one ormore viability profiles, a particular viability profile. In someexamples, the one or more environmental parameters include objectslocated proximate to the autonomous submersible structure.

In some implementations, a system includes a control system of anautonomous submersible structure that performs operations includingreceiving data from one or more sensors that detect one or moreenvironmental parameters associated with an autonomous submersiblestructure, determining one or more navigation parameters based on theone or more environmental parameters and one or more viability profilesassociated with cargo contained within the autonomous submersiblestructure and that specify constraints on the one or more environmentalparameters, and controlling, based on the one or more navigationparameters, a propulsion system of the autonomous submersible structure.

In some examples, the propulsion system of the autonomous submersiblestructure comprises two or more independently operated propellers of theautonomous submersible structure.

In some implementations, at least one computer-readable storage mediumencoded with executable instructions that, when executed by at least oneprocessor, cause the at least one processor to perform operationsincluding receiving data from one or more sensors that detect one ormore environmental parameters associated with an autonomous submersiblestructure, determining one or more navigation parameters based on theone or more environmental parameters and one or more viability profilesassociated with cargo contained within the autonomous submersiblestructure and that specify constraints on the one or more environmentalparameters, and controlling, based on the one or more navigationparameters, a propulsion system of the autonomous submersible structure.

The details of one or more implementations are set forth in theaccompanying drawings and the description, below. Other potentialfeatures and advantages of the disclosure will be apparent from thedescription and drawings, and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1 and 2 are diagrams of an example configuration of an autonomoussubmersible structure that contains live aquatic cargo.

FIG. 3 is a diagram of an example process of the navigation of anautonomous submersible structure that contains live aquatic cargo.

FIG. 4 is a diagram of an example control system of an autonomoussubmersible structure.

FIG. 5 is a flow chart of an example process 500 of the navigation of anautonomous submersible structure that contains live aquatic cargo.

Like reference numbers and designations in the various drawings indicatelike elements. The components shown here, their connections andrelationships, and their functions, are meant to be exemplary only, andare not meant to limit the implementations described and/or claimed inthis document.

DETAILED DESCRIPTION

FIGS. 1 and 2 are diagrams of an example configuration of an autonomoussubmersible structure 100 that contains live aquatic cargo. In thisexample, the structure 100 is an off-shore cage that contains live fish.The structure 100 is configured to navigate, untethered, in a body ofwater and to maintain predetermined conditions for the cargo containedwithin the structure 100 itself. In this particular example, thestructure 100 is configured to navigate the open ocean and to maintainoptimal water conditions for the live fish.

FIG. 1 illustrates a side view of the structure 100. FIG. 2 illustratesa front view of the structure 100. The structure 100 includes a cage102, cargo 104, two propellers 106, a conning tower 108, a navigationsystem 110, a sensors and communications system 112, a feeding mechanism114, a power generation system 118, and a ballast 120.

The structure 100 is a free-floating structure located in a body ofwater and is configured to autonomously navigate currents to certainlocations. The structure 100 includes the cage 102 for containing cargo104.

The cargo 104 can be finfish or other aquatic lifeforms. In someimplementations, the cargo 104 is juvenile fish, and the length of timethe structure 100 is travelling between the starting point and thedestination is the length of time required for the cargo 104 to reachmaturity. In some implementations, the cargo 104 can be other resources,such as fresh water, relief aid, etc.

In some implementations, the cage 102 has a skeleton covered by a meshnetting. The mesh netting covering the skeleton of the cage 102 can haveholes sized based on the cargo 104 contained within the cage 102. Forexample, if the average size of a homogenous cargo 104 is 12 cm indiameter, the holes of the mesh netting can be 10 cm in diameter toprevent the cargo 104 from exiting the cage 102. In someimplementations, the mesh netting covering the skeleton of the cage 102is made from material that can withstand strong currents, such as iron,steel, etc. In some implementations, the cage 102 does not include meshnetting, and is environmentally sealed to protect the cargo 104 fromwater.

In some implementations, the cage 102 encompasses a volume of 3,600 ft³.For example, the cage 102 can have a diameter between fifty and seventyfeet. In some implementations, the cage 102 has a diameter of 63.66feet. In some implementations, the cage 102 encompasses a differentvolume, such as 2,500 ft³, 4,000 ft³, 6,000 ft³, etc., and can have adifferent diameter, such as twenty feet, forty feet, sixty feet, etc.

The structure 100 is propelled by propellers 106 located on the back ofthe cage. In some implementations, the propellers 106 are two offsetpropellers which allow the structure 100 to be steered, as well aschange depth. In some implementations, the propellers 106 each have alarge diameter relative to the size of the cage 102. For example, thepropellers 106 can each have a diameter between 2-10% of the diameter ofthe cage 102. In some implementations, the propellers 106 each have adiameter between two meters and four meters. In some implementations,the propellers 106 each have a diameter of 3.25 meters.

In some implementations, the propellers 106 have a low rotationalvelocity relative to typical rotational velocities used by propellersfor submersible structures. For example, the propellers 106 can eachhave a rotational velocity between ten and fifty RPM. For example, thepropellers 106 can each have a rotational velocity of thirty RPM. Insome implementations, the propellers 106 can each have a differentrotational velocity, such as sixty RPM, seventy-five RPM, etc.

By using propellers with large diameters relative to the size of thecage 102 and with low rotational velocities relative to typicalrotational velocities, the propulsion system of the structure 100 ismore efficient than current propulsion systems on submersiblestructures. For example, the propulsion system of the structure 100 canbe 90% efficient. The high efficiency of the propulsion system reducesthe need for power, and allows the structure 100 to use smallergenerators. The reduction in power needed reduces the strain on thepower generation system 118 of the structure 100 and reduces the weightcontained within and the size of the conning tower 108.

In some implementations, the propellers 106 have the same diameter andthe same rotational velocity. In some implementations, the propellers106 can each have different diameters or different rotationalvelocities.

The systems needed to steer the structure 100 and control the propellers106 can include sensitive electronic components. In someimplementations, the cargo 104 is live and requires feed that must bekept dry.

The conning tower 108 is an environmentally sealed raised platform thathouses sensitive components of the structure 100. In someimplementations, the conning tower 108 houses the navigation system 110,the sensors and communications system 112, and the feeding mechanism114. The navigation system 110 and the sensors and communications system112 can include sensors and electronics sensitive to water damage, andmust be kept dry to function. The feeding mechanism 114 can include afeed bin that contains feed 116 for the cargo 104.

In some implementations, the conning tower 108 is mounted atop asupporting structure that serves as a ballast tank and provides astructural transition between the cage 102 and the conning tower 108. Insome implementations, the supporting structure surrounds the base of theconning tower 108, and the takes the form of a truncated pentagonalpyramid. In some implementations, the supporting structure takes adifferent form, such as a dome, a pyramid having a different number ofsides, etc.

In some implementations, the conning tower 108 is eight feet in diameterand twenty feet tall. In some implementations, the conning tower 108 hasa different diameter of a reasonable size, such as six feet, ten feet,fifteen feet, etc. In some implementations, the conning tower 108 has adifferent height, such as twelve feet, fifteen feet, thirty feet, etc.

In some implementations, environmentally sealing the entirety of theconning tower 108 for the length of the journey taken by the structure100 is not possible. In some implementations, a portion of the conningtower 108 containing the most sensitive electronic components, as wellas the feed 116 is kept above water at all times.

The navigation system 110 controls the propellers 106 to steer thestructure 100. The navigation system 110 is communicatively coupled tothe propellers 106. In some implementations, the navigation system 110is coupled to the propellers 106 through communication buses withinenvironmentally sealed conduits. In some implementations, the navigationsystem 110 transmits control signals to the propellers 106 wirelesslythrough various wireless communications methods, such as RF, sonictransmission, electromagnetic induction, etc.

In some implementations, the navigation system 110 can receive feedbackfrom the propellers 106. For example, the navigation system 110 canreceive the actual rotational velocity of a propeller of the propellers106. The navigation system 110 can use the feedback from the propellers106 to adjust subsequent control signals to the propellers 106.

The navigation system 110 can determine a path through the body of waterin which the structure 100 is submerged and corresponding controlsignals for the propellers 106 locally. In some implementations, thenavigation system 110 is communicatively coupled to the sensors andcommunications system 112, and uses data collected by the sensors andcommunications system 112 to navigate. In some implementations, thenavigation system 110 is coupled to the sensors and communicationssystem 112 through communication buses within environmentally sealedconduits. In some implementations, the navigation system 110 receivessensor data from the sensors and communications system 112 wirelesslythrough various wireless communications methods, such as RF, sonictransmission, electromagnetic induction, etc.

In some implementations, the navigation system 110 communicates with aremote server through the sensors and communications system 112 toreceive new bearings. For example, the sensors and communications system112 can transmit position data of the structure 100 to a remote server,which processes the data and transmits a new bearing to the navigationsystem 110. The navigation system 110 can receive the new bearing,process the data, and generate updated control signals for thepropellers 106. In some implementations, the navigation system 110communicates with a remote server through the sensors and communicationssystem 112 to receive new control signals for the propellers 106.

In some implementations, the navigation system 110 can generate updatedcontrol signals for the propellers 106 locally, without communicatingwith a remote server. For example, the navigation system 110 can receivedata from the sensors and communications system 112, process the data todetermine a new bearing, and generate updated control signals for thepropellers 106. In some implementations, the navigation system 112 cannavigate the structure 100 without the use of GPS. For example, thenavigation system 112 can navigate the structure 100 using positioningdata collected by the sensors and communications system 112.

The sensors and communications system 112 collects data and transmitsthe data to the navigation system 110. The sensors and communicationssystem 112 monitors local water parameters, such as water temperature,salinity, pressure, etc. For example, the sensors and communicationssystem 112 can include a temperature sensor that detects and records thetemperature of the water. The sensors and communications system 112 caninclude sensor arrays and transducers for receiving and transmittingunderwater signals for positioning in the body of water in which thestructure 100 is submerged and/or communicating between structures 100and/or with a separate sea vessel, such as a maintenance boat. Forexample, the sensors and communications system 112 can include sonarsensor arrays that detect the position of the structure 100 in the bodyof water in which the structure 100 is submerged.

The sensors and communications system 112 can include vision sensors,such as sonar, cameras, etc. that detect objects or acquire images forimage analysis by the sensors and communications system 112 or a remoteserver. For example, the sensors and communications system 112 caninclude a camera that monitors the activity of the cargo 104.

In some implementations, the sensors and communications system 112 candetect objects near the structure 100. For example, the sensors andcommunications system 112 can use a sonar sensor array to detect objectson the floor of the body of water in which the structure 100 issubmerged. In some implementations, the sensors and communicationssystem 112 can detect currents near the structure 100. For example, thesensors and communications system 112 can use water temperature andpressure data to determine the boundaries of a current.

In some implementations, the sensors and communications system 112 canmap out features of the body of water in which the structure 100 issubmerged and its floor. For example, the sensors and communicationssystem 112 can use sonar to detect underwater mountains, canyons, etc.and transmit the data to a remote server. The sensors and communicationssystem 112 can communicate with a remote server through various wirelessmethods, such as RF, sonic transmission, electromagnetic induction, etc.

The navigation system 110 can use the data collected by the sensors andcommunications system 112 to traverse the body of water in which thestructure 100 is submerged. For example, the navigation system 110 canreceive data from the sensors and communications system 112 indicatingthat the structure 100 is currently caught in a fast-moving current, butthat the boundary between the current and calm water is 5 m below thecenter of the structure 100's current position. In this example, thenavigation system 110 can generate control signals for the propellers106 to sink the structure 100 below the boundary of the fast-movingcurrent. The navigation system 112 can steer the structure 100 into orout of currents, based on the desired path of the structure 100.

The navigation system 110 can control the propellers 106 to keep thestructure 100 geostationary. For example, in a storm, or othersituations in which navigating conditions are suboptimal, the navigationsystem 110 can receive feedback form the propellers 106 and the sensorsand communications system 112 to maintain a position in which thestructure is to remain.

The navigation system 110 can control the propellers 106 to change acourse of the structure 100. For example, if the structure 100 is calledinto a docking station for maintenance, the navigation system 110 canreceive the coordinates of the docking station and can generate controlsignals for the propellers 106 to change course for the docking station.

The navigation system 110 controls the propellers 106 to steer thestructure 100 based on a condition of the cargo 104. The navigationsystem 110 can steer the structure 100 based on sensor data receivedfrom the sensors and communications system 112 to maintain optimal waterquality for the cargo 104. For example, the navigation system 110 cansteer the structure 100 to maintain optimal temperature, salinity, andpH for the cargo 104, which, in this example, is salmon. In someimplementations, the navigation system 110 can control the propellers106 to steer the structure 100 based on a dispersion rate of effluent,e.g., liquid waste or sewage, produced by the cargo 104. For example,the sensors and communications system 112 can determine a dispersionrate of effluent using a vision system and transmit the data to thenavigation system 110, which determines a course and velocity for thestructure 100 based on the data received.

The feeding mechanism 114 contains and dispenses feed 116 for the cargo104. The feeding mechanism 114 includes a feed bin which contains thefeed 116. The feed 116 is selected based on the cargo 104. In someimplementations, the feed 116 must be kept dry. In some implementations,the feed bin is pressurized with dry air to keep the feed 116 dry. Thefeeding mechanism 114 is communicatively coupled to the sensors andcommunications system 112, and uses data collected by the sensors andcommunications system 112 to determine feeding parameters. In someimplementations, the feeding mechanism 114 is coupled to the sensors andcommunications system 112 through communication buses withinenvironmentally sealed conduits. In some implementations, the feedingmechanism 114 receives sensor data from the sensors and communicationssystem 112 wirelessly through various wireless communications methods,such as RF, sonic transmission, electromagnetic induction, etc.

The feeding mechanism 114 automatically dispenses the feed 116. In someimplementations, the feed 116 is dispensed based on a rate that the feed116 falls through the water. For example, the feeding mechanism 114 canreceive water quality data and position, velocity, and directional datafrom the sensors and communications system 112. The feeding mechanism114 can use the water quality data to determine the rate at which thefeed 116 is released. In some implementations, the feeding mechanism 114dispenses the feed 116 based on a feed rate for optimal growth ormaintenance of the cargo 104. For example, the feeding mechanism 114 candispense the feed 116 based on data from the sensors and communicationssystem 112 indicating an optimal rate for growth of fish cargo 104.

The power generation system 118 provides power for each of thepropellers 106, the navigation system 110, the sensors andcommunications system 112, and the feeding mechanism 114.

The power generation system 118 can include generators. In someimplementations, the power generation system 118 can use a heat sinkengine, using cold water driven to deeper depths for driving its heatexchange. In some implementations, the power generation system 118 canuse ocean thermal energy conversion (OTEC) to generate electric powerfor the various systems of the structure 100. In some implementations,the power generation system 118 can use a solar power system to generateelectric power for the various systems of the structure 100. In someimplementations, the power generation system 118 uses other renewableenergy systems, such as wind, nuclear, etc. In some implementations, thepower generation system 118 can use generators powered by resources suchas natural gas. In some implementations, the power generation system 118can be recharged when the structure 100 is serviced, or when maintenanceis performed on the structure 100.

The conning tower 108 can be heavy component relative to the rest of thestructure 100. Without compensation for the weight of the conning tower108 that is above water level, the structure 100 can capsize.

The ballast 120 is a component that provides stability to the structure100, preventing the structure 100 from keeling over. The ballast 120remains below water level, and counteracts the effects of weight of thestructure 100 above water level, especially that of the conning tower108. In some implementations, the ballast is selected based on theweight of the conning tower 108 and the portion of the conning tower 108that must be kept above water level.

The ballast 120 is placed at the bottom of the structure 100, and isattached to the cage 102. In some implementations, the ballast 120 is asingle weight. In some implementations, the ballast 120 can be acompartment of the cage 102, and the weight of the ballast 120 can beadjusted by adding more material to the compartment. The ballast 120 canbe made from heavy material, such as gravel, sand, iron, or othervarious materials typically used as weights.

FIG. 3 is a diagram of an example process 300 of the navigation of anautonomous submersible structure that contains live aquatic cargo. Inthis example, the structure 302 is an off-shore cage that contains livefish 304. The structure 302 can be an embodiment of the structure 100described with respect to FIGS. 1-2. The live fish 304 can be anembodiment of the cargo 104 described with respect to FIGS. 1-2.

The process 300 begins on day 0. The live fish 304 can be in an earlystage of development, such as the egg stage. In some examples, the livefish 304 have already hatched and are in a later stage of development,such as fries, parrs, smolts, etc. In this example, the live fish 304are put into the structure 302 at a starting location 306. The startinglocation 306 can be a natural habitat of the live fish 304, a farminglocation, etc. For example, the live fish 304 can be collected as eggsfrom a stream 306 and deposited in the structure 302. In some examples,the live fish 304 can be collected as eggs from a fish farm anddeposited into the structure 302.

In some examples, the live fish 304 are to be delivered to a destinationlocation 322. For example, the live fish 304 can be deposited into thestructure 302 at the starting location 306 at an early stage ofdevelopment and can be delivered by the structure 302 to the destinationlocation 322 at harvesting maturity. In some examples, the destinationlocation 322 is different from the starting location 306. For example,the live fish 304 can be delivered from North America to a location inEurope. In some examples, the destination location 322 is the same asthe starting location 306. The live fish 304 can be sent into a body ofwater to mature and can be delivered back to the starting location 306for harvest. For example, the structure 302 can be controlled to driftin the open ocean based on certain parameters.

As the structure 302 drifts in the body of water in which it issubmerged, a control system of the structure 302 can control apropulsion system of the structure 302. The propulsion system of thestructure 302 can include propellers, such as the propellers describedwith respect to FIGS. 1-2. The propulsion system of the structure 302can control the direction of travel, of the structure 302, the depth ofthe structure 302, etc. For example, the propulsion system can becontrolled to navigate the structure 302 around obstacles, undesirableareas of water, etc.

The control system can receive data readings from sensors associatedwith the structure 302. In some examples, these data readings arereceived in real-time. In some examples, the sensors are an embodimentof the sensors described with respect to FIGS. 1-2. The data can includereadings of environmental parameters, such as the location of thestructure 302, the water temperature, water salinity, water pH, waterpressure, etc. surrounding the structure 302. In some examples, thesensors are coupled to the structure 302. For example, the sensors canbe coupled to the outside of the structure 302 and can travel with thestructure 302. In some examples, the sensors are located proximate tothe structure 302. For example, the sensors can be placed along anexpected path of the structure 302.

The control system can control the propulsion system of the structure302 according to certain parameters associated with the live fish 304.In some examples, the control system controls the propulsion system ofthe structure 302 based on viability profiles associated with the livefish 304. These viability profiles can vary based on the live fish 304.For example, salmon 304 can have a different viability profile than tuna304. The viability profiles include parameters associated with thehealth and wellbeing of the live fish 304. For example, the viabilityprofiles can include a range of acceptable salinity levels, oxygenlevels (O₂ levels), water temperature, water pH, etc. In some examples,the parameters are linked to each other. For example, the range ofacceptable O₂ levels can change according to the water temperature.

The control system can control the propulsion system of the structure302 based on the viability profiles by comparing parameters in theviability profile with readings taken from the sensors. For example, thecontrol system can receive sensor readings indicating that the watertemperature surrounding the structure 302 is under the minimumacceptable water temperature for the live fish 304 in the viabilityprofile and can determine navigation parameters based on these sensorreadings. The control system can then can control the propulsion systemto navigate the structure 302 to a different area of the body of waterin which the structure 302 is submerged based on the navigationparameters.

The navigation parameters can include locations, bearings, depths, etc.For example, the navigation parameters can include a new bearing for thestructure 302. The control system can control the propulsion systembased on the new bearing to navigate the structure 302. For example, thecontrol system can determine that the new bearing is South by South East(SSE), and can control the propellers of the propulsion system such thatthe structure 302 is heading SSE.

In some examples, the sensors can provide the control system withpredicted values of certain parameters. For example, the sensors candetermine that the water in which the structure 302 will be within a dayhas a salinity above the maximum acceptable salinity for the live fish304. The sensors can provide the predicted reading to the controlsystem, and the control system can determine navigation parameters thatare used to control the propulsion system of the structure 302 tonavigate away from that area of water.

The control system can receive data readings from sensors of areas ofwater in which the cage will be within a certain period of time inreal-time. For example, the control system can communicate with sensorslocated in an area of water by which the structure 302 will pass withinan hour and determine that the O₂ level is within the optimal range forthe live fish 304 based on the viability profile. The control system candetermine navigation parameters that are used to control the propulsionsystem of the structure 302 to navigate the structure 302 to the area ofwater and can control the structure 302 to remain in the area of waterfor a period of time.

The control system can receive data readings from sensors in real-timeand determine navigation parameters in real-time. For example, if a datareading is received indicating undesirable conditions based on theviability profile, the control system can determine new navigationparameters in real-time to navigate away from the area of water.

In some examples, readings from sensors can indicate weather conditions,such as lightning, hurricanes, tropical storms, tornados, tsunamis, etc.For example, the control system can receive data readings from sensorsindicating that the structure 302 will be entering the area of ahurricane within three hours and determine new navigation parameters tosteer the structure 302 away from the hurricane.

In some examples, readings from the sensors can indicate obstacles, suchas ships, wreckage, reefs, etc. For example, the control system canreceive data readings from sensors indicating that the structure 302will be navigating into a garbage patch and determine new navigationparameters to steer the structure 302 away from the garbage patch.

In some examples, the control system can receive readings from thesensors indicating vital parameters of the live fish 304. For example,the readings can include average size of the live fish 304, averagelevel of maturity of the live fish 304, proportion of the live fish 304suspected of being ill, etc. The control system can determine navigationparameters based on these readings and based on the viability profiles.For example, if the proportion of the live fish 304 suspected of beingill is higher than a certain threshold, the control system can determinenavigation parameters that are used to steer the structure 302 to amedical station or a docking station. In some examples, if theproportion of the live fish 304 that are dead is higher than a certainthreshold, the control system can determine navigation parameters thatare used to steer the structure 302 to a location, such as the startinglocation 306.

In some examples, the control system can receive data readings fromsensors indicating that a vital parameter of the live fish 304 isoutside of an acceptable range, and can determine navigation parametersthat are used to steer the structure 302 to change the vital parameter.For example, the control system can determine that the average bodytemperature of the live fish 304 is below a certain threshold, and candetermine navigation parameters used to steer the structure 302 to anarea of water with warmer water temperatures.

The control system can control a life support system of the structure302 that includes systems such as a feeding mechanism. In some examples,the feeding mechanism is an embodiment of the feeding mechanismdescribed with respect to FIGS. 1-2. For example, the control system canreceive data readings from sensors indicating that the average weight ofthe live fish 304 is below an acceptable level, and control the feedingmechanism to dispense larger amounts of feed.

The process 300 continues on day 10. In this example, the live fish 304have hatched and are in an early stage of development. The structure 302has kept the live fish 304 alive, but the structure 302 is heading for ahurricane 310. The control system can receive readings from sensorsindicating that the hurricane 310 is ahead, and can determine newnavigation parameters. In this example, the navigation parameters areused to control the propulsion system of the structure 302 to navigateaway from the hurricane 310.

In this example, there is an area of water with high salinity 312 to theNorth East with strong currents 314. There is also a trench 316 withdeep water and high water pressure and surrounded by an area of lowwater temperature 318. The control system can determine, based on theviability profile, that the live fish 304 cannot survive the highsalinity of the area 312. The control system can also determine, basedon the viability profile, that the live fish 304 can survive the highwater pressure of the trench 316 and low water temperature of the area318. The control system can then determine new navigation parametersthat are used to control the propulsion system of the structure 302 tonavigate away from the hurricane 310 and the area 312 and through thetrench 316 and area 318.

The process 300 continues on day 100. In this example, the live fish 304have grown and are still in an early stage of development. The structure302 is navigating through the trench 316 and the area of low watertemperature 318. In this example, the structure 302 is headed for anarea with strong currents 314. The control system can receive readingsfrom sensors indicating that the live fish 304 are healthy, and thatwater conditions of the area of water into which the structure 302 willbe navigating over the next few months are favorable based on theviability profile. The control system can then determine navigationparameters that allow the structure 302 to drift with the strongcurrents 314 to conserve power used to control the propulsion system ofthe structure 302.

The process 300 continues on day 365. In this example, the live fish 304have grown. The structure 302 has drifted on the strong currents 314 andis navigating toward the destination location 322. The control systemcan receive readings from sensors indicating the location of thestructure 302 relative to the destination location 322. In someexamples, the control system can determine that the structure 302 hascompleted an acceptable portion of the journey to the destinationlocation 322, and that the structure 302 can continue at the same pace.In some examples, the control system can determine that the structure302 has completed too large a portion of the journey to the destinationlocation 322 and can determine navigation parameters that are used tocontrol the propulsion system of the structure 302 to navigate moreslowly. In some examples, the control system can determine that thestructure 302 has completed too small a portion of the journey to thedestination location 322 and can determine navigation parameters thatare used to control the propulsion system of the structure 302 tonavigate more quickly toward the destination location 322.

The process 300 continues on day 600. In this example, the live fish 304have grown. The structure 300 is headed toward an area of low O₂ levels320. The control system can receive data readings from sensorsindicating that the area 320 has O₂ levels that are below the acceptablerange of O₂ levels for the live fish 304 based on the viability profile.In this example, the control system also receives readings indicatingthat there are strong currents 314 toward the area 320.

In this example, the control system determines new navigation parametersthat are used to control the propulsion system to steer the structure302 away from the area 320 and into the strong currents 314. While thestrong currents 314 are toward the area 320, the control system candetermine new navigation parameters that are used to control thepropulsion system to fight the strong currents 314 such that thestructure 302 is steered away from the area 320.

The process 300 continues on day 900. In this example, the live fish 304have grown and are in a later stage of development. The structure 302has navigated around the area with low O₂ levels 320 and is continuingto navigate toward the destination location 322. In this example, thecontrol system determines that the structure 302 has completed anacceptable portion of the journey toward the destination location 322,and that the live fish 304 have reached an acceptable maturity levelbased on the viability profile and data readings received from sensors.The control system determines navigation parameters to allow thestructure 302 to continue toward the destination location 322.

In some examples, the control system continually determines newnavigation parameters for the structure 302. In some examples, thecontrol system determines whether to update the navigation parameters,and will not change previously determined parameters if the controlsystem determines that no update to the navigation parameters is needed.

The process 300 concludes on day 1100. The live fish 304 have reached anacceptable level of growth and are of acceptable levels of health basedon the viability profile. For example, the control system can determinebased on readings from sensors that the live fish 304 have reached anacceptable average weight and are ready to be harvested. The controlsystem can then determine navigation parameters used to control thepropulsion system to deliver the live fish 304 to the destinationlocation 322.

In some examples, the structure 302, now emptied of its cargo of thelive fish 304, can be navigated to return to the starting location 306.For example, the control system can determine that the live fish 304have been delivered and harvested and then determine navigationparameters to return the structure 306 to the starting location 306. Inthis example, because the structure 302 no longer contains live cargo,the control system can determine navigation parameters based onenvironmental parameters and in some examples, does not determine thenavigation parameters based on the viability profiles. In some examples,the control system can use a different viability profile.

In some examples, the structure 302 can be loaded with different cargo.In such examples, the control system can use a viability profileassociated with the new cargo. For example, if the structure 302 is nowfilled with inanimate cargo that is temperature sensitive, the controlsystem can determine new navigation parameters based on a temperaturerange specified in the viability profile. In some examples, thestructure 302 can be navigated to a different location. For example, thestructure 302 can be navigated to a different location to be loaded withdifferent cargo.

FIG. 4 is a diagram of an example control system 400 of an autonomoussubmersible structure. In some examples, the autonomous submersiblestructure is an embodiment of the autonomous submersible structuredescribed with respect to FIGS. 1-3. The control system 400 includes anavigation system 410, a propulsion system 440, and a life supportsystem 460. The navigation system 410, the propulsion system 440, andthe life support system 460 are each communicably connected to acognitive computing interface 490. The interface 490 is configured totransmit data to and receive data from each of the navigation system410, the propulsion system 440, and the life support system 460. Theinterface 490 facilitates communication between each of the navigationsystem 410, the propulsion system 440, and the life support system 460.

The navigation system 410 receives inputs from multiple sources,including a sensor input 412. The sensor input 412 includes anenvironmental parameter input 420. In some examples, the navigationsystem 410 receives inputs from more sources. For example, thenavigation system 410 can receive input directly from a human operator.In some examples, the navigation system 410 receives inputs fromdifferent sources. For example, the navigation system 410 can receiveinput from models that produce predicted values of inputs. In someexamples, the navigation system 410 receives inputs from fewer sources.For example, the navigation system 410 can receive one sensor input 412.

The navigation system 410 uses each input it receives to determine oneor more navigation parameters. For example, the navigation system 410can use the input 412 to determine a depth 414, a bearing 416, and alocation 418. In some examples, the sensor input 412 includes dataindicating navigation parameters such as the current depth, bearing, andlocation of the autonomous submersible structure, etc. In some examples,the navigation system 410 determines more parameters. In some examples,the navigation system 410 determines different parameters. For example,the navigation system 410 can determine a speed, a distance to travel, atime period, etc. In some examples, the navigation system 410 determinesfewer parameters. For example, the navigation system 410 can determine abearing 416.

The sensor input 412 can be input received from one or more sensors. Insome examples, the sensors that provide the sensor input 412 are anembodiment of the sensors and communications system 112 described withrespect to FIGS. 1-2. The sensor input 412 can include predicted valuesof certain parameters, such as the future salinity of an area of waterthe autonomous submersible structure is currently traversing. In someexamples, the sensor input 412 can be outputs of a statistical model ofa certain parameter, such as the predicted strength of a current.

The sensor input 412 can include values of certain parameters collectedin real-time. For example, the environmental parameters 420 of thesensor input 412 can include the O₂ level of an area of water, thetemperature of an area of water, etc. In some examples, the values arecollected for an area of water the autonomous submersible structure iscurrently traversing. In some examples, the values are collected for anarea of water the autonomous submersible structure will traverse in thefuture. For example, the control system can communicate with sensorslocated in an area of water by which the autonomous submersiblestructure will pass within an hour.

The sensor input 412 can include values of certain parameters thatindicate weather conditions. For example, the environmental parameters420 can include data indicating weather conditions such as lightning,hurricanes, tropical storms, tornados, tsunamis, etc. For example, theenvironmental parameters 420 can include data from local weatherstations. In some examples, the navigation system 410 can determineweather conditions from a combination of the sensor input 412 received.For example, the navigation system 410 can use a combination of thesensor input 412 received to determine that a currently active hurricanewill cross paths with the autonomous submersible structure on itscurrent trajectory.

In some examples, the sensor input 412 can indicate obstacles. Forexample, the environmental parameters 420 of the sensor input 412 canindicate obstacles such as ships, wreckage, reefs, etc. In someexamples, the environmental parameters 420 of the sensor input 412 canindicate the boundaries of a current. For example, the environmentalparameters of the sensor input 412 can include density and temperaturedata for an area of water that the navigation system 410 can use todetermine the boundaries of a deep current. In some examples, theenvironmental parameters 420 can include image or video input. In someexamples, the navigation system 410, the cognitive computing interface490, or a remote server to which the navigation system 410 iscommunicatively coupled can process the sensor input 412 to determinewhether the autonomous submersible structure is approaching an obstacle.For example, the sensor input 412 can include image data of a largegarbage patch directly in the path of the autonomous submersiblestructure. The navigation system 410 can process the sensor input 412and use image recognition to determine that there is an obstacle thatneeds to be avoided, and determine one or more navigation parametersthat are used to avoid the obstacle.

In some examples, the sensor input 412 can include vital parameters ofthe live cargo of the autonomous submersible structure. For example, thesensor input 412 can include the average size of the live cargo, theaverage weight of the live cargo, the average age of the live cargo, theaverage maturity of the live cargo, etc. In some examples, thenavigation system 410, the cognitive computing interface 490, or aremote server to which the navigation system 410 is communicativelycoupled can process the sensor input 412 to determine vitalityparameters of the live cargo of the autonomous submersible structure.For example, the navigation system 410 can process the sensor input 412to determine whether units of the live cargo are ill, the proportion ofthe live cargo that is ill, etc.

The depth output 414 indicates a depth in water of the autonomoussubmersible structure. The depth output 414 can be measured as a depthfrom the surface of the water, from the bottom of the ocean, etc. Thedepth output 414 is determined by the navigation system 410, and is usedto control the propulsion system 440 to navigate the autonomoussubmersible structure in the body of water in which the structure 100 issubmerged. In some examples, the depth output 414 is determined by thenavigation system 410 using the sensor input 412. For example, thenavigation system 410 can determine the boundaries of a strong currentin a direction opposite to the current bearing of the autonomoussubmersible vehicle, and determine that if the autonomous submersiblestructure sank in depth by five feet, the structure would be able tosteer out of the strong current.

In some examples, a portion of the autonomous submersible structurecannot be submerged. For example, a portion of the conning tower of theautonomous submersible structure cannot be submerged. In some examples,the navigation system 410 uses the sensor input 412 to determine howmuch of the autonomous submersible structure is below water. Forexample, the navigation system 410 can determine that the autonomoussubmersible structure is partially submerged, and that the conning toweris still above water. If the navigation system 410 determines a depthoutput 414 that will submerse the portion of the conning tower thatcannot be below water, the navigation system 410, the cognitivecomputing interface 490, or a remote server to which the control system400 is communicatively coupled, can determine that the navigation system410 must determine a new navigation parameter. The new navigationparameter can be determined based on the maximum depth that theautonomous submersible structure can achieve without submerging theportion of the conning tower.

In some examples, a portion of the autonomous submersible structurecannot be above water. For example, the propellers of the autonomoussubmersible structure cannot be above water. In some examples, thenavigation system 410 uses the sensor input 412 to determine how much ofthe autonomous submersible structure is below water. For example, thenavigation system 410 can determine that the autonomous submersiblestructure is partially submerged, and that the propellers are stillsubmerged. If the navigation system 410 determines a depth output 414that will force the propellers to breach the surface, the navigationsystem 410, the cognitive computing interface 490, or a remote server towhich the control system 400 is communicatively coupled, can determinethat the navigation system 410 must determine a new navigationparameter. The new navigation parameter can be determined based on theminimum depth that the autonomous submersible structure can achievewithout exposing the propellers to the surface.

The bearing output 416 indicates a bearing of the autonomous submersiblestructure. The bearing output 416 can include a direction of motion ofthe autonomous submersible structure, a direction of a distant objectrelative to the current course of the autonomous submersible structure,degrees away from North of a distant point relative to the currentposition of the autonomous submersible structure. The bearing output 416is determined by the navigation system 410, and is used to control thepropulsion system 440 to navigate the autonomous submersible structurein the body of water in which the structure 100 is submerged. In someexamples, the bearing output 416 is determined by the navigation system410 using the sensor input 412. For example, the navigation system 410can determine the location of a hurricane along the course of travel ofthe autonomous submersible structure, and determine that if theautonomous submersible structure changed bearing by three degrees towardNorth, the structure would be able to steer around the hurricane.

The location output 418 indicates a destination location of theautonomous submersible structure. The location output 418 can includeglobal coordinates, an address, etc. The location output 418 isdetermined by the navigation system 410, and is used to control thepropulsion system 440 to navigate the autonomous submersible structurein the body of water in which the structure 100 is submerged. In someexamples, the location output 418 is determined by the navigation system410 using the sensor input 412.

The location output 418 can be the current location of the autonomoussubmersible structure. For example, the navigation system 410 candetermine that environmental conditions, such as salinity and O₂ levelsare ideal according to one or more viability profiles 462 used by thecontrol system 400. The navigation system 410 can then determine thatthe autonomous submersible structure has completed an acceptable portionof the journey to the destination location and that the autonomoussubmersible structure can remain geostationary at its current location.

The location output 418 can be a destination location of the autonomoussubmersible structure. For example, the navigation system 410 candetermine that the autonomous submersible structure has completed anacceptable portion of the journey to the destination location and thatthe autonomous submersible structure can proceed to the originaldestination location determined. In this example, the navigation system410 does not determine a new location output 418, and instead retainsthe original destination location as the location output 418.

The propulsion system 440 includes an engine 442, independentlycontrolled propellers 444, an air tank 446, and a ballast 448. Theinterface 490 is configured to transmit data to and receive data fromthe navigation system 410 and the propulsion system 440 such that thenavigation parameters determined by the navigation system 410 are usedto control the propulsion system 440.

The propulsion system 440 receives input from multiple sources,including the navigation system 410. For example, the propulsion system440 can receive a control signal from the navigation system 410. In someexamples, the propulsion system 440 can receive the one or morenavigation parameters determined by the navigation system 410 anddetermine a control signal that controls the components of thepropulsion system 440. In some examples, the cognitive computinginterface 490 receives the one or more navigation parameters determinedby the navigation system 410 and determines a control signal for thepropulsion system 440.

In some examples, the propulsion system 440 includes a controller thatcontrols all components of the propulsion system 440. For example, thepropulsion system 440 can include a central controller that transmitscontrol signals to each of the engine 442, the independently controlledpropellers 444, the air tank 446, and the ballast 448. In some examples,the propulsion system 440 includes a controller for each component ofthe propulsion system 440. For example, the propulsion system 440 caninclude a separate controller that transmits control signals to each ofthe engine 442, the independently controlled propellers 444, the airtank 446, and the ballast 448.

The engine 442 is an engine that converts one form of energy intomechanical energy. The engine 442 can be any of various types ofengines, such as heat, electric, pneumatic, etc. For example, the engine442 can be an internal combustion engine, an external combustion engine,an electric motor, etc. In some examples, the engine 442 can be poweredby an external power source of the autonomous submersible structure,such as a battery, a fuel tank, an air tank, etc.

The engine 442 can provide power to all components of the control system400. For example, the engine 442 can provide power to the independentlycontrolled propellers 444, the air tank 446, and the feeding mechanism480. In some examples, the engine 442 powers only the components of thepropulsion system 440. For example, the engine 442 powers theindependently controlled propellers 444 and the air tank.

The independently controlled propellers 444 are propellers positioned onthe exterior of the autonomous submersible structure that are controlledto propel the autonomous submersible structure through the body of waterin which the structure 100 is submerged. In some examples, theindependently controlled propellers 444 are an embodiment of thepropellers 106 as described with respect to FIGS. 1-2. In some examples,the independently controlled propellers 444 are controlled by thepropulsion system 440 to steer the autonomous submersible structure. Theindependently controlled propellers 444 can be controlled to change thesteering, speed, etc. of the autonomous submersible structure.

The independently controlled propellers 444 can be controlled by thepropulsion system 440 based on the one or more navigation parametersdetermined by the navigation system 410. For example, the cognitivecomputing interface 490 can receive the one or more navigationparameters determined by the navigation system 410 and generate acontrol signal for the independently controlled propellers 444. In someexamples, the propulsion system 440 can receive the one or morenavigation parameters and generate a control signal for theindependently controlled propellers 444.

The air tank 446 can be a tank filled with air that is used to blowwater out of the autonomous submersible structure. In some examples, theair tank 446 contains compressed air that forces water out of theballast 448. The air tank 446 pushes water through valves of theautonomous submersible structure to increase the buoyancy of theautonomous submersible structure. In some examples, the air tank 446 canbe controlled by the propulsion system 440 based on the one or morenavigation parameters determined by the navigation system 410. Forexample, the air tank 446 can be controlled to force air out of theballast 448 based on a change in depth that decreases the depth of theautonomous submersible structure.

The ballast 448 can be a compartment within the autonomous submersiblestructure that holds water to provide stability for the submersiblestructure. In some examples, the ballast 448 is an embodiment of theballast 118 as described with respect to FIGS. 1-2. In some examples,the ballast 448 can be controlled by the propulsion system 440 based onthe one or more navigation parameters determined by the navigationsystem 410. For example, the ballast 448 can be pumped with water todecrease buoyancy of the autonomous submersible structure if the depthoutput 414 determined by the navigation system 410 requires an increasein depth of the autonomous submersible structure.

The life support system 460 includes a viability profile 462, size ofcage holes 464, vital parameters 470, and feeding mechanism 480. Thevital parameters 470 include the size of the cargo 472, the health ofcargo 474, and the maturity of cargo 476. The life support system 460monitors and maintains the integrity of cargo contained within theautonomous submersible structure. For example, the life support system460 can feed live cargo of the autonomous submersible structure.

The viability profiles 462 include parameters associated with the healthand wellbeing of the cargo of the autonomous submersible structure, suchas a range of acceptable salinity levels, O₂ levels, water temperature,water pH, etc. The parameters of the viability profiles 462 can belinked to each other. For example, an acceptable range of watertemperature for a certain kind of live cargo can increase based on adecrease in salinity.

The control system 400 can control the propulsion system 440 of thestructure 302 based on the viability profiles 462 by comparingparameters in the viability profile with the sensor inputs 412. In someexamples, the cognitive computing interface 490 can control thepropulsion system 440 according to the navigation parameters determinedby the navigation system 410. For example, the cognitive computinginterface 490 can determine from sensor inputs and the navigationparameters determined by the navigation system 410, that the O₂ levelsin the area of water the autonomous submersible structure is currentlytraversing is within the ideal range of O₂ levels specified in theviability profile 462 used by the control system 400 to control theautonomous submersible structure.

The control system 400 can use more than one viability profile 462. Forexample, the control system 400 can select a viability profile 462 basedon the portion of the journey to the destination location completed bythe autonomous submersible structure. In some examples, the controlsystem 400 can select a viability profile 462 based on the cargocontained within the autonomous submersible structure. In some examples,the control system 400 can automatically select a viability profile fromthe multiple viability profiles 462 based on the one or more navigationparameters determined by the navigation system 410. For example, thecontrol system 400 can select a viability profile 462 based ondestination location output 418 determined by the navigation system 410.

The size of the holes in a cage of the autonomous submersible structure464 can be controlled by the life support system 460. In some examples,the cage is an embodiment of the cage 102 described with respect toFIGS. 1-2. In some examples, the size of the holes in the cage 464 canbe controlled by the life support system 460 by altering the structureof the autonomous submersible structure. For example, the life supportsystem 460 can transmit energy through the cage to expand or contractthe material of the cage and change the size of the holes 464. In someexamples, the cage includes a metal skeleton with a metal covering thatcan be expanded or contracted to change the size of the holes in thecage 464. In some examples, the cage includes a metal skeleton and amesh net that can be stretched or eased to change the size of the holesin the cage 464.

The size of the holes 464 can be determined by the life support system460. For example, the size of the holes 464 can be determined by thelife support system 460 based on one or more parameters of the viabilityprofile 462 and the vital parameters 470. For example, the size of theholes 464 can be the minimum size to allow water flow to efficientlydispose of effluent and to provide adequate O₂ to the cargo. In someexamples, the size of the holes 464 can be determined based on vitalparameters 470, such as the size of the cargo 472. For example, if thecargo grows, the size of the holes 464 can be controlled based on thesize of the cargo 472.

The vital parameters 470 are monitored by the life support system 460.In some examples, the vital parameters 470 are included in the sensorinput 412 collected by the navigation system 410. For example, the vitalparameters 470 can be determined from image data collected by sensorsand included in the sensor input 412. The vital parameters 470 can be anembodiment of the vital parameters described with respect to FIG. 3. Insome examples, the vital parameters 470 are collected as raw data. Forexample, the vital parameters 470 can include the amount of foodconsumed each day. In some examples, the vital parameters 470 can bedetermined from raw sensor data collected. For example, the vitalparameters 470 can include the proportion of live cargo contained in theautonomous submersible structure that is healthy. In some examples, thelife support system 460 uses techniques such as machine learning todetermine certain vital parameters 470. The life support system 460 canuse any of a variety of models such as decision trees, linearregression, neural networks, Bayesian networks, etc., and can be trainedusing a variety of approaches, such as deep learning, inductive logic,support vector machines, clustering, etc. For example, the life supportsystem 460 can determine vital parameters 470 such as the average sizeof the cargo 472 through image recognition. In some examples, the vitalparameters 470 are included as parameters of the viability profiles 462.

In some examples, the cognitive computing interface 490 uses the vitalparameters 470 to generate and/or update the viability profiles 462. Forexample, the cognitive computing interface 490 can determine that avital parameter has reached a new maximum, and that a new viabilityprofile 462 should be used by the navigation system 410 and thecognitive computing interface 490 to steer the autonomous submersiblestructure.

The size of the cargo 472 can be monitored by the life support system460. In some examples, the size of the cargo 472 can include ameasurement of the entire cargo. For example, the size of the cargo 472can include a volume of the total cargo contained within the autonomoussubmersible structure. In some examples, the size of the cargo 472 caninclude a measurement of the average size of each unit of cargo. Forexample, the size of the cargo 472 can include an average length of eachunit of cargo contained within the autonomous submersible structure.

The health of the cargo 474 can be monitored by the life support system460. In some examples, the health of the cargo 474 can include aproportion of healthy cargo contained within the autonomous submersiblestructure. In some examples, the health of the cargo 474 can include anindication of the various states of health of the cargo. For example,the health of the cargo 474 can include the illnesses that aresuspected.

The maturity of the cargo 476 can be monitored by the life supportsystem 460. In some examples, the maturity of the cargo 476 can includea proportion of cargo that has reached a benchmark maturity level. Forexample, the maturity of the cargo 472 can include a proportion of cargothat has reached spawning adulthood. In some examples, the maturity ofthe cargo 474 can include an indication of the various stages ofmaturity of the cargo. For example, the maturity of the cargo 474 caninclude the growth stages that are represented within the cargo.

The feeding mechanism 480 can be monitored and controlled by the lifesupport system 460. In some examples, the feeding mechanism 480 is anembodiment of the feeding mechanism 114 described with respect to FIGS.1-2. In some examples, the feeding mechanism 480 is a container thatcannot be submerged. For example, the feeding mechanism 480 includes dryfeed that will spoil when exposed to water. In some examples, thefeeding mechanism 480 includes a mechanism that can be controlled by thelife support system 460 to dispense feed to the live cargo containedwithin the autonomous submersible structure. In some examples, thefeeding mechanism 480 is powered by the engine 442. In some examples,the feeding mechanism 480 is powered by an external power source.

FIG. 5 is a flow chart of an example process 500 of the navigation of anautonomous submersible structure that contains live aquatic cargo.Briefly, according to an example, the process 500 begins with receivinginput from a sensor that detects one or more environmental parameters(502). For example, the control system 400 can receive input from asensor that detects water temperature.

The process 500 continues with determining one or more navigationparameters (504). For example, the navigation system 410 can use thewater temperature and one or more viability profiles 462 to determinethat the live cargo needs higher water temperature, and that in order toachieve the higher water temperature, the autonomous submersiblestructure needs to steer to an area of water south of the area of waterit is currently traversing.

The process 500 concludes with controlling a propulsion system of anautonomous submersible structure (506). For example, the control system400 can use the cognitive computing interface 490 to use the navigationparameters determined by the navigation system 410 to control thepropulsion system 440. The propulsion system 440 can then steer theautonomous submersible structure to the area of water south of the areaof water it is currently traversing.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made without departingfrom the spirit and scope of the disclosure. For example, various formsof the flows shown above may be used, with steps re-ordered, added, orremoved.

All of the functional operations described in this specification may beimplemented in digital electronic circuitry, or in computer software,firmware, or hardware, including the structures disclosed in thisspecification and their structural equivalents, or in combinations ofone or more of them. The techniques disclosed may be implemented as oneor more computer program products, i.e., one or more modules of computerprogram instructions encoded on a computer-readable medium for executionby, or to control the operation of, data processing apparatus. Thecomputer readable-medium may be a machine-readable storage device, amachine-readable storage substrate, a memory device, a composition ofmatter affecting a machine-readable propagated signal, or a combinationof one or more of them. The computer-readable medium may be anon-transitory computer-readable medium. The term “data processingapparatus” encompasses all apparatus, devices, and machines forprocessing data, including by way of example a programmable processor, acomputer, or multiple processors or computers. The apparatus mayinclude, in addition to hardware, code that creates an executionenvironment for the computer program in question, e.g., code thatconstitutes processor firmware, a protocol stack, a database managementsystem, an operating system, or a combination of one or more of them. Apropagated signal is an artificially generated signal, e.g., amachine-generated electrical, optical, or electromagnetic signal that isgenerated to encode information for transmission to suitable receiverapparatus.

A computer program (also known as a program, software, softwareapplication, script, or code) may be written in any form of programminglanguage, including compiled or interpreted languages, and it may bedeployed in any form, including as a standalone program or as a module,component, subroutine, or other unit suitable for use in a computingenvironment. A computer program does not necessarily correspond to afile in a file system. A program may be stored in a portion of a filethat holds other programs or data (e.g., one or more scripts stored in amarkup language document), in a single file dedicated to the program inquestion, or in multiple coordinated files (e.g., files that store oneor more modules, sub programs, or portions of code). A computer programmay be deployed to be executed on one computer or on multiple computersthat are located at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described in this specification may beperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output. The processes and logic flows may also be performedby, and apparatus may also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read only memory ora random access memory or both. The essential elements of a computer area processor for performing instructions and one or more memory devicesfor storing instructions and data. Generally, a computer will alsoinclude, or be operatively coupled to receive data from or transfer datato, or both, one or more mass storage devices for storing data, e.g.,magnetic, magneto optical disks, or optical disks. However, a computerneed not have such devices. Moreover, a computer may be embedded inanother device, e.g., a tablet computer, a mobile telephone, a personaldigital assistant (PDA), a mobile audio player, a Global PositioningSystem (GPS) receiver, to name just a few. Computer readable mediasuitable for storing computer program instructions and data include allforms of non-volatile memory, media and memory devices, including by wayof example semiconductor memory devices, e.g., EPROM, EEPROM, and flashmemory devices; magnetic disks, e.g., internal hard disks or removabledisks; magneto-optical disks; and CD-ROM and DVD-ROM disks. Theprocessor and the memory may be supplemented by, or incorporated in,special purpose logic circuitry.

To provide for interaction with a user, the techniques disclosed may beimplemented on a computer having a display device, e.g., a CRT (cathoderay tube) or LCD (liquid crystal display) monitor, for displayinginformation to the user and a keyboard and a pointing device, e.g., amouse or a trackball, by which the user may provide input to thecomputer. Other kinds of devices may be used to provide for interactionwith a user as well; for example, feedback provided to the user may beany form of sensory feedback, e.g., visual feedback, auditory feedback,or tactile feedback; and input from the user may be received in anyform, including acoustic, speech, or tactile input.

Implementations may include a computing system that includes a back endcomponent, e.g., as a data server, or that includes a middlewarecomponent, e.g., an application server, or that includes a front endcomponent, e.g., a client computer having a graphical user interface ora Web browser through which a user may interact with an implementationof the techniques disclosed, or any combination of one or more such backend, middleware, or front end components. The components of the systemmay be interconnected by any form or medium of digital datacommunication, e.g., a communication network. Examples of communicationnetworks include a local area network (“LAN”) and a wide area network(“WAN”), e.g., the Internet.

The computing system may include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

While this specification contains many specifics, these should not beconstrued as limitations, but rather as descriptions of featuresspecific to particular implementations. Certain features that aredescribed in this specification in the context of separateimplementations may also be implemented in combination in a singleimplementation. Conversely, various features that are described in thecontext of a single implementation may also be implemented in multipleimplementations separately or in any suitable subcombination. Moreover,although features may be described above as acting in certaincombinations and even initially claimed as such, one or more featuresfrom a claimed combination may in some cases be excised from thecombination, and the claimed combination may be directed to asubcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the implementations described above should not beunderstood as requiring such separation in all implementations, and itshould be understood that the described program components and systemsmay generally be integrated together in a single software product orpackaged into multiple software products.

Thus, particular implementations have been described. Otherimplementations are within the scope of the following claims. Forexample, the actions recited in the claims may be performed in adifferent order and still achieve desirable results.

What is claimed is:
 1. A computer-implemented method comprising:receiving data from one or more sensors that detect one or moreenvironmental parameters that are currently associated with a fish cagethat is constructed to hold a particular species of live fish for openocean aquaculture; accessing a viability profile that is specific to theparticular species of live fish contained in the fish cage, and thatindicates, for at least one of the environmental parameters, a range ofvalues that is indicated as appropriate for the particular species oflive fish; determining to activate or deactivate a motor that isassociated with the fish cage based at least on (i) the one or moreenvironmental parameters that are currently associated with the fishcage that is constructed to hold the particular species of live fish foropen ocean aquaculture, and (ii) the viability profile that is specificto the particular species of live fish contained in the fish cage, andthat indicates, for at least one of the environmental parameters, therange of values that is indicated as appropriate for the particularspecies of live fish; and based on determining to activate or deactivatethe motor that is associated with the fish cage, activating ordeactivating the motor that is associated with the fish cage.
 2. Themethod of claim 1, wherein the range of values that is indicated asappropriate for the particular species of live fish comprises a range ofvalues that is indicated as acceptable for the health or well-being ofthe particular species of fish.
 3. The method of claim 1, whereindifferent species of fish have different viability profiles.
 4. Themethod of claim 1, wherein the range of values comprises a range ofdepth or pressure values.
 5. The method of claim 1, wherein the range ofvalues comprises a range of salinity, oxygen level, water temperature,or water pH values.
 6. The method of claim 1 wherein the range of valuescomprises a range of water current speed values.
 7. The method of claim1, wherein determining to activate or deactivate the motor is furtherbased on (iii) real-time data characterizing a current health orwell-being of the live fish.
 8. The method of claim 7, wherein thereal-time data characterizing the current health or well-being of thelive fish comprises an average body weight the live fish, an averagelength of the live fish, an average age of the live fish, an averagedensity of the live fish, a proportion of the live fish that arecharacterized as healthy, or a total quantity of the live fish.
 9. Asystem comprising: one or more computers; and one or more computers andone or more storage devices storing instructions that are operable, whenexecuted by the one or more computers, to cause the one or morecomputers to perform operations comprising: receiving data from one ormore sensors that detect one or more environmental parameters that arecurrently associated with a fish cage that is constructed to hold aparticular species of live fish for open ocean aquaculture; accessing aviability profile that is specific to the particular species of livefish contained in the fish cage, and that indicates, for at least one ofthe environmental parameters, a range of values that is indicated asappropriate for the particular species of live fish; determining toactivate or deactivate a motor that is associated with the fish cagebased at least on (i) the one or more environmental parameters that arecurrently associated with the fish cage that is constructed to hold theparticular species of live fish for open ocean aquaculture, and (ii) theviability profile that is specific to the particular species of livefish contained in the fish cage, and that indicates, for at least one ofthe environmental parameters, the range of values that is indicated asappropriate for the particular species of live fish; and based ondetermining to activate or deactivate the motor that is associated withthe fish cage, activating or deactivating the motor that is associatedwith the fish cage.
 10. The system of claim 9, wherein the range ofvalues that is indicated as appropriate for the particular species oflive fish comprises a range of values that is indicated as acceptablefor the health or well-being of the particular species of fish.
 11. Thesystem of claim 9, wherein different species of fish have differentviability profiles.
 12. The system of claim 9, wherein the range ofvalues comprises a range of depth or pressure values.
 13. The system ofclaim 9, wherein the range of values comprises a range of salinity,oxygen level, water temperature, or water pH values.
 14. The system ofclaim 9 wherein the range of values comprises a range of water currentspeed values.
 15. The system of claim 9, wherein determining to activateor deactivate the motor is further based on (iii) real-time datacharacterizing a current health or well-being of the live fish.
 16. Thesystem of claim 15, wherein the real-time data characterizing thecurrent health or well-being of the live fish comprises an average bodyweight the live fish, an average length of the live fish, an average ageof the live fish, an average density of the live fish, a proportion ofthe live fish that are characterized as healthy, or a total quantity ofthe live fish.
 17. At least one non-transitory computer-readable storagemedium encoded with executable instructions that, when executed by atleast one processor, cause the at least one processor to performoperations comprising: receiving data from one or more sensors thatdetect one or more environmental parameters that are currentlyassociated with an autonomous submersible structure that contains aparticular species of live fish; accessing a viability profile that isspecific to the particular species of live fish contained in theautonomous submersible structure, and that indicates, for at least oneof the environmental parameters, a respective range of values that isindicated as acceptable for the health or well-being of the particularspecies of live fish; determining to reposition the autonomoussubmersible structure based at least on (i) the one or moreenvironmental parameters that are currently associated with theautonomous submersible structure that contains the particular species oflive fish, and (ii) the viability profile that is specific to theparticular species of live fish contained in the autonomous submersiblestructure, and that indicates, for at least one of the environmentalparameters, a respective range of values that is characterized asacceptable for the health or well-being of the particular species oflive fish; and based on determining to reposition the autonomoussubmersible structure, controlling a propulsion system of the autonomoussubmersible structure to reposition the autonomous submersiblestructure.
 18. The medium of claim 17, wherein the range of values thatis indicated as appropriate for the particular species of live fishcomprises a range of values that is indicated as acceptable for thehealth or well-being of the particular species of fish.
 19. The mediumof claim 17, wherein different species of fish have different viabilityprofiles.
 20. The medium of claim 17, wherein the range of valuescomprises a range of depth or pressure values.